草庐IT

unit-testing - FluentNhibernate 和 SQLite

全部标签

sqlite - 使用 sqlite 的 gorm.Model 时区配置

我正在使用带有sqlite的gorm。我的模型包括gorm.Model,因此gorm会为我处理created_at,...但默认情况下它会使用本地时间保存所有审核日期(例如“2019-08-1217:45:39.356009+02:00”)。有没有办法为自动生成的字段强制使用UTC?该行为是基于gorm本身还是基于底层sql数据库? 最佳答案 如果您仔细阅读代码,您会发现delted_at、created_at和updated_at字段由函数控制gorm.NowFunclink.根据文档://gorm.NowFunc=func()t

testing - 如何按顺序运行 golang 测试?

当我运行gotest时,我的输出:---FAIL:TestGETSearchSuccess(0.00s)Location:drivers_api_test.go:283Error:Notequal:200(expected)!=204(actual)---FAIL:TestGETCOSearchSuccess(0.00s)Location:drivers_api_test.go:391Error:Notequal:200(expected)!=204(actual)但是在我再次运行gotest之后,我的所有测试都通过了。仅当我重置我的mysql数据库,然后第一次运行gotest时,测试

unit-testing - 如何为另一个包中的方法编写模拟代码

我正在为service.go设置service_test.go。在service.go中,方法是从dao.go中调用的。所以我需要模拟这个dao方法。但我不确定如何编写此模拟方法的代码。这是存储库结构。article├client├api│├main.go│├contoroller││└contoroller.go│├service││└service.go│├dao││└dao.go│├go.mod│├go.sum│└Dockerfile├nginx└docker-compose.yml服务.gofuncGetArticleService(db*sql.DB)[]util.Artic

unit-testing - 调试在命令行中工作,但在 UI 中未命中断点

我在我的Windows10机器上安装了以下内容:VS代码-版本1.38.1Golang-版本go1.13Delve-版本1.3.0我已经在环境变量中设置了GOROOT和GOPATH。我的GOPATH有以下三个文件夹:来源本包装在src下,我创建了一个基本的sam-app。它会自动创建main_test.go文件。当我进行“调试测试”时,UI中没有出现断点。但是,我可以在命令行中使用dlv进行调试。我在launch.json中尝试了不同的配置。他们都没有工作。在我friend的机器上,即使没有配置,UI调试也能正常工作在VSCode设置中-->节点调试-->自动附加-->我已经设置为'o

docker - 二进制文件是用 'CGO_ENABLED=0' 编译的,go-sqlite3 需要 cgo 才能工作。这是一个 stub

我想在Golang项目中使用sqlite3。但是在docker容器中运行它有一些错误。二进制文件是用'CGO_ENABLED=0'编译的,go-sqlite3需要cgo才能工作。这是一个stub这是我的构建脚本CGO_ENABLED=0GOOS=linuxGOARCH=amd64gobuild-omainmain.go我不能在mac电脑上使用CGO_ENABLED=1FROMgolang:1.13-alpineENVWORK_DIR=/goENVTIME_ZONE=Asia/SingaporeRUNln-snf/usr/share/zoneinfo/$TIME_ZONE/etc/loc

戈朗 : Testing API using httptest returns 404

我正在尝试测试我编写的与外部API对话的库。我想出了这段代码:import("fmt""net/http""net/http/httptest""net/url""testing")var(//muxistheHTTPrequestmultiplexerusedwiththetestserver.mux*http.ServeMux//clientistheGitHubclientbeingtested.client*Client//serverisatestHTTPserverusedtoprovidemockAPIresponses.server*httptest.Server)fu

Go SQlite 并发问题

我一直在研究thisGo的SQLite库,在做一些压力测试时,遇到了一些奇怪的错误。我正在尝试运行这段代码:packagemainimport"code.google.com/p/go-sqlite/go1/sqlite3"import"fmt"import"sync"funcmain(){varwgsync.WaitGroupwg.Add(100)fori:=0;i]"}}c.Close()fmt.Println("Worker",id,"isdone")}默认情况下没有问题;但是当我将GOMAXPROCS增加到超过1时,程序在任意点崩溃,并给出错误:fatalerror:unexp

testing - 带 channel 的 Golang 测试不退出

下面的Golang测试永远不会退出。我怀疑这与channel死锁有关,但作为一个菜鸟,我不太确定。constuserName="xxxxxxxxxxxx"funcTestSynchroninze(t*testing.T){c,err:=channel.New(github.ChannelName,authToken)iferr!=nil{t.Fatalf("Couldnotcreatechannel:%s",err)return}state:=channel.NewState(nil)ctx:=context.Background()ctx=context.WithValue(ctx,

testing - Golang NewRequest 将 POST 参数传递给 API 进行测试

这是我的测试方法,它创建一个新请求并传递POST参数。url1:="/api/addprospect"data:=url.Values{}data.Add("customer_name","value")b:=bytes.NewBuffer([]byte(data.Encode()))request,err:=http.NewRequest("POST",serverHttp.URL+url1,b)res,err:=http.DefaultClient.Do(request)问题是POSTparam没有被url的函数处理程序获取。你能帮我设置正确的请求吗?谢谢

testing - 针对 xml/字符串测试失败的自定义 testify 输出

我正在使用testify测试XML编码(marshal)处理,并使用strings.Contains检查我希望包含在XML中的行是否确实存在。但是,我想区分实际xml与所需xml。目前,我的代码看起来像这样:func(suite*BookSuite)TestXMLMarshal(){priceXML,priceErr:=xml.Marshal(PriceType{Price:10,Type:"IND"})suite.Nil(priceErr)linePresent:=strings.Contains(string(priceXML),``)iftrue!=linePresent{err